package com.esisa.swing;

import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class MyMenu extends JMenuBar{
	
	public MyMenu(String m[][]) {
		for (int i = 0; i < m.length; i++) {
			loadMenu(m[i]);
		}
	}
	
	private void loadMenu(String s[]) {
		JMenu m = new JMenu(s[0]);
		for (int i = 1; i < s.length; i++) {
			if (s[i].equals("-")) m.addSeparator();
			else {
				JMenuItem item = new JMenuItem(s[i], new ImageIcon("resources/" + s[i].toLowerCase() + ".gif"));
				m.add(item);
			}
		}
		add(m);
	}
	
	public JMenu getJMenu(String item){
		for (int i = 0; i < getMenuCount(); i++) {
			//System.out.println(i);
			JMenu m = (JMenu) getMenu(i);
			if (m.getText().equalsIgnoreCase(item)) {
				return m;
			}
		}
		return null;
	}
	
	public JMenuItem getJmenuItem(String jmenu, String jMenuItem){
		JMenu jm = getJMenu(jmenu);
		//System.out.println(jm.getItemCount());
		for (int i = 0; i < jm.getItemCount(); i++) {
			//System.out.println(jm.getComponentCount());
			JMenuItem mi = (JMenuItem) jm.getItem(i);
			if (mi.getText().equalsIgnoreCase(jMenuItem)) {
				return mi;				
			}
		}
		return null;
	}
	
	public JMenuItem getJmenuItem(String jMenuItem){
		//System.out.println("ici");
		for (int i = 0; i < getMenuCount(); i++) {
			JMenu jm = (JMenu)getMenu(i);

			for (int j = 0; j < jm.getItemCount(); j++) {
				JMenuItem mi = (JMenuItem) jm.getItem(j);
				if (mi.getText().equalsIgnoreCase(jMenuItem)) {
					return mi;				
				}
			}
		
		}
		return null;
	}
	public void AddActionListner(String jMenu, ActionListener action){
		JMenu jm = this.getJMenu(jMenu);
		for (int i = 0; i < jm.getComponentCount(); i++) {
			JMenuItem mi =(JMenuItem) getComponent(i);
			mi.addActionListener(action);
		}
		
	}
	
	public void AddActionListner(String jMenu ,String jMenuItem, ActionListener action){
			
			JMenuItem mi =(JMenuItem) this.getJmenuItem(jMenu,jMenuItem);
			System.out.println(mi);
			mi.addActionListener(action);
	}
	public void AddActionListnerMenuItem(String jMenuItem, ActionListener action){
		JMenuItem mi =(JMenuItem) this.getJmenuItem(jMenuItem);
		mi.addActionListener(action);
	}
	
}
